Potentially Visible Set
   HOME

TheInfoList



OR:

In
3D computer graphics 3D computer graphics, or “3D graphics,” sometimes called CGI, 3D-CGI or three-dimensional computer graphics are graphics that use a three-dimensional representation of geometric data (often Cartesian) that is stored in the computer for t ...
, Potentially Visible Sets are used to accelerate the rendering of 3D environments. They are a form of
occlusion culling In 3D computer graphics, hidden-surface determination (also known as shown-surface determination, hidden-surface removal (HSR), occlusion culling (OC) or visible-surface determination (VSD)) is the process of identifying what surfaces and parts o ...
, whereby a candidate set of ''potentially visible''
polygon In geometry, a polygon () is a plane figure that is described by a finite number of straight line segments connected to form a closed ''polygonal chain'' (or ''polygonal circuit''). The bounded plane region, the bounding circuit, or the two to ...
s are pre-computed, then indexed at run-time in order to quickly obtain an estimate of the visible geometry. The term ''PVS'' is sometimes used to refer to any occlusion culling algorithm (since in effect, this is what all occlusion algorithms compute), although in almost all the literature, it is used to refer specifically to occlusion culling algorithms that pre-compute visible sets and associate these sets with regions in space. In order to make this association, the
camera A camera is an optical instrument that can capture an image. Most cameras can capture 2D images, with some more advanced models being able to capture 3D images. At a basic level, most cameras consist of sealed boxes (the camera body), with a ...
's view-space (the set of points from which the camera can render an image) is typically subdivided into (usually
convex Convex or convexity may refer to: Science and technology * Convex lens, in optics Mathematics * Convex set, containing the whole line segment that joins points ** Convex polygon, a polygon which encloses a convex set of points ** Convex polytop ...
) regions and a PVS is computed for each region.


Benefits vs. Cost

The benefit of offloading visibility as a pre-process are: * The application just has to look up the pre-computed set given its view position. This set may be further reduced via
frustum culling In 3D computer graphics, hidden-surface determination (also known as shown-surface determination, hidden-surface removal (HSR), occlusion culling (OC) or visible-surface determination (VSD)) is the process of identifying what surfaces and parts o ...
. Computationally, this is far cheaper than computing occlusion based visibility every frame. * Within a frame, time is limited. Only 1/60th of a second (assuming a 60 Hz frame-rate) is available for visibility determination, rendering preparation (assuming graphics hardware), AI, physics, or whatever other app specific code is required. In contrast, the offline pre-processing of a potentially visible set can take as long as required in order to compute accurate visibility. The disadvantages are: * There are additional storage requirements for the PVS data. * Preprocessing times may be long or inconvenient. * Can't be used for completely dynamic scenes. * The visible set for a region can in some cases be much larger than for a point.


Primary Problem

The primary problem in PVS computation then becomes: Compute the set of polygons that can be visible from anywhere inside each region of a set of polyhedral regions. There are various classifications of PVS algorithms with respect to the type of visibility set they compute.S. Nirenstein, E. Blake, and J. Gain.
Exact from-region visibility culling
', In Proceedings of the 13th workshop on Rendering, pages 191–202. Eurographics Association, June 2002.


Conservative algorithms

These overestimate visibility consistently, such that no triangle that is visible may be omitted. The net result is that no image error is possible, however, it is possible to greatly overestimate visibility, leading to inefficient rendering (due to the rendering of invisible geometry). The focus on conservative algorithm research is maximizing ''occluder fusion'' in order to reduce this overestimation. The list of publications on this type of algorithm is extensive - good surveys on this topic include Cohen-Or et al. and Durand.
3D Visibility: Analytical study and Applications
', Frédo Durand, PhD thesis, Université Joseph Fourier, Grenoble, France, July 1999. is strongly related to exact visibility computations.


Aggressive algorithms

These underestimate visibility consistently, such that no redundant (invisible) polygons exist in the PVS set, although it may be possible to miss a polygon that is actually visible leading to image errors. The focus on aggressive algorithm research is to reduce the potential error.


Approximate algorithms

These can result in both redundancy and image error.


Exact algorithms

These provide optimal visibility sets, where there is no image error and no redundancy. They are, however, complex to implement and typically run a lot slower than other PVS based visibility algorithms. Teller computed exact visibility for a scene subdivided into cells and portalsSeth Teller,
Visibility Computations in Densely Occluded Polyhedral Environments
' (Ph.D. dissertation, Berkeley, 1992)
(see also
portal rendering In computer-generated imagery and real-time 3D computer graphics, portal rendering is an algorithm for visibility determination. For example, consider a 3D computer game environment, which may contain many polygons, only a few of which may be ...
). The first general tractable 3D solutions were presented in 2002 by Nirenstein et al. and Bittner. Haumont et al. improve on the performance of these techniques significantly. Bittner et al. solve the problem for 2.5D urban scenes. Although not quite related to PVS computation, the work on the 3D Visibility Complex and 3D Visibility Skeleton by Durand provides an excellent theoretical background on analytic visibility. Visibility in 3D is inherently a 4-Dimensional problem. To tackle this, solutions are often performed using
Plücker coordinates In geometry, Plücker coordinates, introduced by Julius Plücker in the 19th century, are a way to assign six homogeneous coordinates to each line in projective 3-space, P3. Because they satisfy a quadratic constraint, they establish a one-to- ...
, which effectively linearize the problem in a 5D projective space. Ultimately, these problems are solved with higher-dimensional constructive solid geometry.


Secondary Problems

Some interesting secondary problems include: *Compute an optimal sub-division in order to maximize visibility culling. *Compress the visible set data in order to minimize storage overhead.


Implementation Variants

*It is often undesirable or inefficient to simply compute triangle level visibility. Graphics hardware prefers objects to be static and remain in video memory. Therefore, it is generally better to compute visibility on a per-object basis and to sub-divide any objects that may be too large individually. This adds conservativity, but the benefit is better hardware utilization and compression (since visibility data is now per-object, rather than per-triangle). *Computing cell or sector visibility is also advantageous, since by determining visible ''regions of space'', rather than visible objects, it is possible to not only cull out static objects in those regions, but dynamic objects as well.


References

{{reflist


External links

Cited author's pages (including publications):
Jiri Bittner

Daniel Cohen-Or

Fredo Durand



Shaun Nirenstein

Seth Teller

Peter Wonka
Other links:
Selected publications on visibility
3D rendering de:Sichtbarkeitsproblem es:Determinación de cara oculta fr:Potentially visible set pl:Usuwanie niewidocznych powierzchni